// 引入express
const express = require("express");
const multer = require("multer");

const { port, publicPath } = require("./config");
const indexRouter = require("./views/indexRouter");
const userRouter = require("./views/userRouter");
const fileRouter = require("./views/fileRouter");

// 创建应用实例
const app = express();

//json读写支持
app.use(express.json());

//配置表单支持中间件
app.use(express.urlencoded({ extended: false }));

// 配置全局静态资源支持中间件
app.use(express.static(publicPath))

// 全局上传支持中间件
app.use(multer({ dest: "D:/tmp/" }).array("avitar"));//上传支持

// /* GET / */
// app.get(
//     // 路由
//     "/", 

//     // req = 请求信息封装
//     // res = 响应对象 用于向客户端写出内容
//     // 请求处理器
//     function (req, res) {
//         // 写出响应内容
//         res.send("Hello Express");
//     }
// );

/* 添加路由中间件 */
app.use("/", indexRouter);
app.use("/user", userRouter);
app.use("/file", fileRouter);

/* 将应用实例挂载到8002端口 */
const server = app.listen(
    port, 

    // 挂载成功后的回调函数
    function () {
        const host = server.address().address;
        const port = server.address().port;

        console.log("应用实例，访问地址为 http://%s:%s", host, port);
    }

);
